package com.niiwoo.civet.mobile.vo.request.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.NotBlank;

/**
 * @Description: 用户身份提交请求信息
 * @Author:LiJian
 * @Date:2017/10/12
 */
@Setter
@Getter
@ApiModel(description = "用户身份提交请求信息")
public class UserIdentityWithChannelAuthRequestVO {

    @ApiModelProperty(value = "身份证正面照片（base64 字符串）")
    private String frontPhotoByte;

    @ApiModelProperty(value = "身份证正面照ID")
    private Long frontPhotoId;

    @ApiModelProperty(value = "身份证背面照片（base64 字符串）")
    private String backPhotoByte;

    @ApiModelProperty(value = "身份证背面ID")
    private Long backPhotoId;

    @ApiModelProperty(value = "姓名", required = true)
    private String name;

    @NotNull(message = "性别输入错误")
    @ApiModelProperty(value = "性别", notes = "1-男 2-女", required = true)
    private Byte sex;

    @NotBlank(message = "民族输入错误")
    @ApiModelProperty(value = "民族", required = true)
    private String nation;

    @NotBlank(message = "您的身份证号格式错误，请核对后重新输入")
    @Pattern(regexp = "^[0-9]{17}[0-9X]$", message = "您的身份证号格式错误，请核对后重新输入")
    @ApiModelProperty(value = "身份证号", required = true)
    private String idCard;

     @NotNull(message = "生日输入错误")
    @ApiModelProperty(value = "生日", required = true)
    private Date birthday;

     @NotNull(message = "身份证有效期开始时间输入错误")
    @ApiModelProperty(value = "身身份证有效期开始时间", required = true)
    private Date startDate;

     @NotNull(message = "身身份证有效期截止时间输入错误")
    @ApiModelProperty(value = "身身份证有效期截止时间", required = true)
    private Date endDate;

    @NotBlank(message = "身份证地址输入错误")
    @ApiModelProperty(value = "身份证地址", required = true)
    private String address;

    @NotBlank(message = "签发机关输入错误")
    @ApiModelProperty(value = "签发机关", required = true)
    private String signingAuthority;

    @NotNull(message = "OCR渠道输入错误")
    @ApiModelProperty(value = "OCR渠道", notes = "0 - 无， 1 - face++", required = true)
    private Byte ocrChannel;

}
